package cn.fl.flow.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.flow.vo.SysFlowAgentUsrVO;
import fl.flow.facade.flow.dto.SysFlowAgentUsrDTO;

public class SysFlowAgentUsrVOTransform {

	/**
	 * VO 转  DTO
	 * @param po SysFlowAgentUsrVO
	 * @return SysFlowAgentUsrDTO
	 */
	public static SysFlowAgentUsrDTO toDTO(SysFlowAgentUsrVO vo) {
		SysFlowAgentUsrDTO  dto = null;
		if (vo != null) { 
			dto = new SysFlowAgentUsrDTO();
			dto.setId(vo.getId());
			dto.setProcessDefKey(vo.getProcessDefKey());//流程定义标识
			dto.setUsrId(vo.getUsrId());//受理人(指定给谁)
			dto.setEntrustUsrId(vo.getEntrustUsrId());//被委托人(被指定人)
			dto.setRem(vo.getRem());//备注
			dto.setStartTm(vo.getStartTm());
			dto.setEndTm(vo.getEndTm());
			dto.setIsDel(vo.getIsDel());
			dto.setSysCd(vo.getSysCd());
			dto.setDataId(vo.getDataId());
			dto.setProcessDefNm(vo.getProcessDefNm());
			dto.setEntrustUsrNm(vo.getEntrustUsrNm());
			dto.setUsrNm(vo.getUsrNm());
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}

	/**
	 * DTO 转  VO
	 * @param dto SysFlowAgentUsrDTO
	 * @return SysFlowAgentUsrVO
	 */
	public static SysFlowAgentUsrVO toPO(SysFlowAgentUsrDTO dto) {
		SysFlowAgentUsrVO vo = null;
		if (dto != null) {
			vo = new SysFlowAgentUsrVO();
			vo.setId(dto.getId());
			vo.setProcessDefKey(dto.getProcessDefKey());//流程定义标识
			vo.setUsrId(dto.getUsrId());//受理人(指定给谁)
			vo.setEntrustUsrId(dto.getEntrustUsrId());//被委托人(被指定人)
			vo.setRem(dto.getRem());//备注
			vo.setStartTm(dto.getStartTm());
			vo.setEndTm(dto.getEndTm());
			vo.setIsDel(dto.getIsDel());
			vo.setSysCd(dto.getSysCd());
			vo.setDataId(dto.getDataId());
			vo.setProcessDefNm(dto.getProcessDefNm());
			vo.setEntrustUsrNm(dto.getEntrustUsrNm());
			vo.setUsrNm(dto.getUsrNm());
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<SysFlowAgentUsrVO>
	 * @return List<SysFlowAgentUsrDTO>
	 */
	public static List<SysFlowAgentUsrDTO> toDTOList(List<SysFlowAgentUsrVO> list) {
		List<SysFlowAgentUsrDTO>  dtoList = new ArrayList<SysFlowAgentUsrDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SysFlowAgentUsrVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
	
}
